package mx.edu.itschapala.sistemas.septimo.control;
import mx.edu.itschapala.sistemas.septimo.modelo.*;
import java.util.*;
import mx.edu.itschapala.sistemas.septimo.vista.enumeracion.TipoBusqueda;




public class ProductoLnArreglo implements ProductoLnLocal {

    private Producto listaProductos[] = new Producto[100];
    private int indice = 0;

    public void registrar(Producto producto) {
        if (indice < 99) {
            listaProductos[indice] = producto;
            indice++;
        } else {
            System.out.println("no hay espacio en la memoria");
        }

    }

    public void modificar(Producto producto) {

        int pos = -1;
        for (int x = 0; x < indice; x++) {
            if (listaProductos[x].getCodigo() == producto.getCodigo()) {
                pos = x;
            }
        }
        if (pos != -1) {
            listaProductos[pos] = producto;
        }

    }
    public void eliminar(Producto producto){
int x=0;
	int pos=-1;
	for(;x<indice;x++){
		if(listaProductos[x].getCodigo()==producto.getCodigo()){
			pos=x;
			listaProductos[x]=null;

		}

    }

	if(pos!=-1){
		for (x=pos;x<indice-1 ;x++ ) {

		
		
			listaProductos[x]=listaProductos[x+1];
		}
		indice--;
	}


	
}


public Producto buscarPorCodigo (int codigo){
	int pos=-1;
for(int x=0;x<indice;x++){
	System.out.println(listaProductos[x].getCodigo());
	if(listaProductos[x].getCodigo()==codigo){
		pos=x;
	}
}
if(pos!=-1){
	return listaProductos[pos];

}else{
	
	return null;
}

}

	public List<Producto>getTodos(){

		List<Producto> lista = new ArrayList<Producto>();
		for(int x =0;x<indice;x++){
			lista.add(listaProductos[x]);
		} 
		return lista;
	}

    @Override
    public List<Producto> getPorNombre(String Nombre, TipoBusqueda criterio) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
}
